package com.example.demo.service

import com.example.demo.utils.MResult
import com.example.demo.vo.BedInfoVo
import com.example.demo.vo.CareLabelVo
import com.example.demo.vo.MessageVo
import com.example.demo.vo.PatientVo
import com.example.demo.vo.board.NurseLevelVo
import com.example.demo.vo.board.ScheduleVo
import com.example.demo.vo.board.ShiftPlanInfo
import com.example.demo.vo.board.ShiftPlanVo

interface BoardService {


    fun getScheduleVo(deptCode: String): ScheduleVo?

    fun getPatientList(deptCode: String, type: String?, sex: String?): List<PatientVo>?

    fun getPatientInfo(patientId: String): BedInfoVo?

    // 修改病人信息
    fun editPatientInfo(cureNo: String, outlayType: String?, mobile: String?, doctorCode: String?, nurseCode: String?, deptCode: String?, nurseLevel: String?, inTimer: String?): Int?

    /**
     * deptCode 科室id
     * type  0护士 1医生
     */
    fun getShiftPlanInfo(deptCode: String, type: String): ShiftPlanInfo?

    /**
     * 护理等级
     */
    fun getNurseLevel(): List<NurseLevelVo>?
    fun addNurseLevel(levelName: String?, bgColor: String?, fontColor: String?): Int?
    fun deteleNurseLevel(labeleId:String): Int?
    fun getEditNurseLevel(id: Int, bgColor: String, fontColor: String, levelName: String): Int?

    /**
     * 护理标签
     */
    fun getCareLevelList(): List<CareLabelVo>?
    fun getEditCareLevel(id: Int, bgColor: String, fontColor: String, labelName: String): Int?
    fun addNurseLevelLabel(bgColor:String, fontColor:String, levelName:String, labelCat:String):Int?
    fun deleteNurseLevelLabel(labeleId: String):Int?
    fun addCareLevel(patientId: String?, careLabelId: String, bedCode: String?, deptCode: String?): Int?
    fun deleteCareLevel(id:String):Int?

    /**
     *  消息
     */
    fun getMessageList(patientId: String): List<MessageVo>?
    fun addMessage(patientId: String?, title: String?, context: String?, imgurl: String?, fileurl: String?, type: String?): Int?

    /**
     * 添加手术信息
     */
    fun addOperations(deptCode: String,patientId: String, opDoc:String, opName:String,ansDoc1:String, ansDoc2:String
                      , assistDoc1:String, assistDoc2:String, assistDoc3:String, cirNurse1:String,cirNurse2:String,scrNurse1:String,scrNurse2:String,
                      opTime:String, opDate:String
     ):Int

}